package principal;

import java.awt.Color;
import java.awt.GridLayout;

import javax.swing.JPanel;

public class MatrizDeQuadrados  extends JPanel {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	protected Quadrado[][] area;
	protected int largura;
	protected int altura;

	/**
	 * 
	 * @param largura
	 * @param altura
	 */
	public MatrizDeQuadrados(int altura, int largura) {
		this.altura = altura;
		this.largura = largura;
		GridLayout gridLayout = new GridLayout(altura, largura);
		setLayout(gridLayout);
		
		area = new Quadrado[altura][largura];
		
		for(int x = 0; x < altura; x++){
			for(int y = 0; y < largura; y++){
				Quadrado quadrado = new Quadrado(x, y);
				area[x][y] = quadrado;
				add(quadrado);
			}
		}
		
	}

	public void resetArea() {
		for(int x = 0; x < altura; x++){
			for(int y = 0; y < largura; y++){
				area[x][y].setBackground(Color.WHITE);
			}
		}
	}
	
	public Quadrado getQuadrado(int x, int y) {
		if(getDentro(x, y)){
			return area[x][y];
		} else{
			return new Quadrado(-1, -1);
		}
	}
	
	public void setQuadrado(int x, int y, Quadrado q){
		if(getDentro(x, y)){
			area[x][y] = q;
		} 
	}
	
	public boolean getDentro(int x, int y){
		boolean dentro = true;
		
		if(x >= altura || y >= largura || x < 0 || y < 0){
			dentro = false;
		}
		return dentro;
	}
	
	public int getLargura() {
		return largura;
	}
	
	public int getAltura() {
		return altura;
	}
	
	public Quadrado[][] getArea(){
		return area;
	}

}